The present disclosure relates to computer software, and more specifically, to computer software to provide lazy initialization of an operator graph in a stream computing application.
Stream computing applications may consist of streams of data flowing through elements of processing that form an operator (or flow) graph. Operator graphs may be instantiated when a job (or application) is submitted. As part of the instantiation, initialization of the operator graph may also occur. The instantiation of a complete operator graph allocates all resources associated with the operator graph, even if parts of the operator graph are ultimately never used by the stream computing application. For example, some parts of a operator graph only receive tuples in exceptional cases, or when a certain input stream is present. Therefore, parts of a operator graph are typically instantiated and wait for data that never arrives, or does not arrive for hours or days.
Stream computing applications may process real-time data and often operate under conditions of data overload. Furthermore, stream computing applications may run continuously, i.e., they are submitted and process real-time data for months or even years without being restarted. Therefore it is beneficial to conserve resources when possible in order to allow the stream computing application to process the real-time data it is ingesting.